<?php
//TODO Quando for o úlitmo da página devemos voltar para a pagina imediatamente anterior.
//TODO Quando apagar um curso e/ou reativar, se o usuário logado for esse usuário deve ser tirado o curso da lista de cursos dele
	if (!$_POST){
		if(defined('PARAMETRO_2')){
			$filtro=	PARAMETRO_2;
		}
		else{
			$filtro	=	"todos";
		}
		if ($filtro != 'buscaavancada') {
			unset($_SESSION['constructore']['buscaAvancadaCursos']);
		}
		
		if(defined('PARAMETRO_3')){
			$ordena	=	PARAMETRO_3;
		}
		else{
			$ordena	=	"ordenanome";
		}
		
		if(defined('PARAMETRO_4')){
			$ordem 	=	PARAMETRO_4;
			
			if ($ordem != 'asc' && $ordem != 'desc'){
				redireciona(array('404'));
				exit;
			}
			
		}
		else{
			$ordem	=	"asc";
		}
		
		if (defined('PARAMETRO_5')){
			$paginaAtual	=	intval(str_replace("pagina", "", PARAMETRO_5));
			
		}
		else{
			$paginaAtual 	=	1;
		}
		
		$strInputBuscaCursos 	=	'';
		
		if(defined('PARAMETRO_6')){
			if($filtro	==	'busca') {
				$strBusca	=	codificaString(urldecode(PARAMETRO_6));
				$strInputBuscaCursos	=	$_SESSION['constructore']['buscaAdministracaoCursos'];
				if(codificaString($strInputBuscaCursos) != $strBusca){
					$strInputBuscaCursos 	=	str_replace('-', ' ', urldecode(PARAMETRO_6));
					$_SESSION['constructore']['buscaAdministracaoCursos']	=	$strInputBuscaCursos;
				}
			}
			else {
				if($filtro	==	'buscaavancada'){
					$strBusca	=	urldecode(PARAMETRO_6);
					$strCurso				=	codificaString(urldecode($_GET['curso']));
					$intLayout				=	codificaString(urldecode($_GET['layout']));
					$strNomeProfessor		=	codificaString(urldecode($_GET['nomeprofessor']));
					$boolLiberarEmail		=	codificaString(urldecode($_GET['liberarEmail']));
					$boolLiberarEndereco	=	codificaString(urldecode($_GET['liberarEndereco']));
					$boolLiberarTelefone	=	codificaString(urldecode($_GET['liberarTelefone']));
					$strNivel 				=	codificaString(urldecode($_GET['nivel']));
					$intArea 				=	codificaString(urldecode($_GET['area']));
					$strSituacao			=	codificaString(urldecode($_GET['situacao']));
					$strSemestre			=	codificaString(urldecode($_GET['semestre']));
					
					$strInicioCurso1		=	codificaString(urldecode($_GET['iniciocurso1']));
					$strInicioCurso2		=	codificaString(urldecode($_GET['iniciocurso2']));
					$strTerminoCurso1		=	codificaString(urldecode($_GET['terminocurso1']));
					$strTerminoCurso2		=	codificaString(urldecode($_GET['terminocurso2']));
					$strDataCriacao1		=	codificaString(urldecode($_GET['datacriacao1']));
					$strDataCriacao2		=	codificaString(urldecode($_GET['datacriacao2']));
					
					$boolGlossario			=	codificaString(urldecode($_GET['glossario']));
					$boolLinks				=	codificaString(urldecode($_GET['links']));
					$boolBibliografia		=	codificaString(urldecode($_GET['bibliografia']));
					$boolAvisos				=	codificaString(urldecode($_GET['avisos']));
					$boolEmail				=	codificaString(urldecode($_GET['email']));
					$boolForum				=	codificaString(urldecode($_GET['forum']));
					$boolChat				=	codificaString(urldecode($_GET['chat']));
					
					if ($strSituacao	==	"andamento"){
						$intInicioCursoDia2			=	date('d', time());
						$intInicioCursoMes2			=	date('m', time());
						$intInicioCursoAno2			=	date('Y', time());
						$intTerminoCursoDia1		=	date('d', time());
						$intTerminoCursoMes1		=	date('m', time());
						$intTerminoCursoAno1		=	date('Y', time());
					}
					
					if ($strSituacao	==	"desenvolvimento"){
						$intInicioCursoDia1			=	date('d', time()) + 1;
						$intInicioCursoMes1			=	date('m', time());
						$intInicioCursoAno1			=	date('Y', time());
					}
					
					if ($strSituacao	==	"concluidos"){
						$intTerminoCursoDia2		=	date('d', time()) - 1;
						$intTerminoCursoMes2		=	date('m', time());
						$intTerminoCursoAno2		=	date('Y', time());
					}
					
					if ($strSemestre != 'qualquer') {
						$semestre	=	explode('-', $strSemestre);
						if(intval($semestre[1]) == 1){
							$intInicioCursoDia1			=	'01';
							$intInicioCursoMes1			=	'01';
							$intInicioCursoAno1			=	$semestre[0];
							$intInicioCursoDia2			=	'14';
							$intInicioCursoMes2			=	'07';
							$intInicioCursoAno2			=	$semestre[0];
						}
						if(intval($semestre[1]) == 2){
							$intInicioCursoDia1			=	'15';
							$intInicioCursoMes1			=	'07';
							$intInicioCursoAno1			=	$semestre[0];
							$intInicioCursoDia2			=	'31';
							$intInicioCursoMes2			=	'12';
							$intInicioCursoAno2			=	$semestre[0];
						}
					}
					
					$strInputCurso				= $_SESSION['constructore']['buscaAvancadaCursos']['strCurso'];
					$intSelectLayout			= $_SESSION['constructore']['buscaAvancadaCursos']['intLayout'];					
					$strInputNomeProfessor		= $_SESSION['constructore']['buscaAvancadaCursos']['strNomeProfessor'];
					$boolInputLiberarEmail		= $_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEmail'];
					$boolInputLiberarEndereco	= $_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEndereco'];
					$boolInputLiberarTelefone	= $_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarTelefone'];
					$strSelectNivel				= $_SESSION['constructore']['buscaAvancadaCursos']['strNivel'];
					$intSelectArea				= $_SESSION['constructore']['buscaAvancadaCursos']['intArea'];
					$strSelectSituacao			= $_SESSION['constructore']['buscaAvancadaCursos']['strSituacao'];
					$strSelectSemestre			= $_SESSION['constructore']['buscaAvancadaCursos']['strSemestre'];
					
					$strInputInicioCurso1	= $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno1'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes1'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia1'];
					$strInputInicioCurso2	= $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno2'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes2'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia2'];
					$strInputTerminoCurso1	= $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno1'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes1'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia1'];
					$strInputTerminoCurso2	= $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno2'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes2'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia2'];
					$strInputDataCriacao1	= $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno1'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes1'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia1'];
					$strInputDataCriacao2	= $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno2'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes2'] . '-' . $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia2'];
					
					$boolInputGlossario		= $_SESSION['constructore']['buscaAvancadaCursos']['boolGlossario'];
					$boolInputLinks			= $_SESSION['constructore']['buscaAvancadaCursos']['boolLinks'];
					$boolInputBibliografia	= $_SESSION['constructore']['buscaAvancadaCursos']['boolBibliografia'];
					$boolInputAvisos		= $_SESSION['constructore']['buscaAvancadaCursos']['boolAvisos'];
					$boolInputEmail			= $_SESSION['constructore']['buscaAvancadaCursos']['boolEmail'];
					$boolInputForum			= $_SESSION['constructore']['buscaAvancadaCursos']['boolForum'];
					$boolInputChat			= $_SESSION['constructore']['buscaAvancadaCursos']['boolChat'];
					
					if(codificaString($strInputCurso) != $strCurso){
						$strInputCurso 	=	str_replace('-', ' ', urldecode($_GET['curso']));
						$_SESSION['constructore']['buscaAvancadaCursos']['strCurso']	=	$strInputCurso;
					}
					
					if(codificaString($intSelectLayout) != $intLayout){
						$_SESSION['constructore']['buscaAvancadaCursos']['intLayout']	=	$intLayout;
					}
					
					if(codificaString($strInputNomeProfessor) != $strNomeProfessor){
						$strInputNomeProfessor 	=	str_replace('-', ' ', urldecode($_GET['nomeProfessor']));
						$_SESSION['constructore']['buscaAvancadaNomeCursos']['strNomeProfessor']	=	$strInputNomeProfessor;
					}
					
					if($boolLiberarEmail != $boolInputLiberarEmail){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEmail']	=	$boolLiberarEmail;
					}
					
					if($boolLiberarEndereco != $boolInputLiberarEndereco){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEndereco']	=	$boolLiberarEndereco;
					}
					
					if($boolLiberarTelefone != $boolInputLiberarTelefone){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarTelefone']	=	$boolLiberarTelefone;
					}
					
					if(codificaString($strSelectNivel) != $strNivel){
						$_SESSION['constructore']['buscaAvancadaCursos']['strNivel']	=	$strNivel;
					}
					
					if(codificaString($intSelectArea) != $intArea){
						$_SESSION['constructore']['buscaAvancadaCursos']['intArea']	=	$intArea;
					}
					
					if(codificaString($strSelectSituacao) != $strSituacao){
						$_SESSION['constructore']['buscaAvancadaCursos']['strSituacao']	=	$strSituacao;
					}
					
					if(codificaString($strSelectSemestre) != $strSemestre){
						$_SESSION['constructore']['buscaAvancadaCursos']['strSemestre']	=	$strSemestre;
					}
					
					if(codificaString($strInputInicioCurso1) != $strInicioCurso1){
						$data	=	explode('-', $strInicioCurso1);
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia1']	=	$data[2];
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes1']	=	$data[1];
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno1']	=	$data[0];
					}
					
					if(codificaString($strInputInicioCurso2) != $strInicioCurso2){
						$data	=	explode('-', $strInicioCurso2);
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia2']	=	$data[2];
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes2']	=	$data[1];
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno2']	=	$data[0];
					}
					
					if(codificaString($strInputTerminoCurso1) != $strTerminoCurso1){
						$data	=	explode('-', $strTerminoCurso1);
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia1']	=	$data[2];
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes1']	=	$data[1];
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno1']	=	$data[0];
					}
					
					if(codificaString($strInputTerminoCurso2) != $strTerminoCurso2){
						$data	=	explode('-', $strTerminoCurso2);
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia2']	=	$data[2];
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes2']	=	$data[1];
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno2']	=	$data[0];
					}
					
					if(codificaString($strInputDataCriacao1) != $strDataCriacao1){
						$data	=	explode('-', $strDataCriacao1);
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia1']	=	$data[2];
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes1']	=	$data[1];
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno1']	=	$data[0];
					}
					
					if(codificaString($strInputDataCriacao2) != $strDataCriacao2){
						$data	=	explode('-', $strDataCriacao2);
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia2']	=	$data[2];
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes2']	=	$data[1];
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno2']	=	$data[0];
					}
					
					if($boolGlossario != $boolInputGlossario){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolGlossario']	=	$boolGlossario;
					}
					
					if($boolLinks != $boolInputLinks){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLinks']	=	$boolLinks;
					}
					
					if($boolAvisos != $boolInputAvisos){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolAvisos']	=	$boolAvisos;
					}
					
					if($boolEmail != $boolInputEmail){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolEmail']	=	$boolEmail;
					}
					
					if($boolForum != $boolInputForum){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolForum']	=	$boolForum;
					}
					
					if($boolChat != $boolInputChat){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolChat']	=	$boolChat;
					}
					
					if($boolBibliografia != $boolInputBibliografia){
						$_SESSION['constructore']['buscaAvancadaCursos']['boolBibliografia']	=	$boolBibliografia;
					}
					
					$validou 	=	true;
					
					/*
			         * Valida o inicio do curso
			         */
				   
			        if (!validaDataString($strInicioCurso1) && strlen(str_replace('-','',$strInicioCurso1)) != 0) {
			            $validou             =    false;
			            $strMensagemErro    =    'Preencha corretamente a primeira data do campo <span class="negrito">Início do Curso</span>.';
			            $_SESSION['constructore']['mensagens']['erroInicioCurso']    =    $strMensagemErro;
			        }
					
					if (!validaDataString($strInicioCurso2) && strlen(str_replace('-','',$strInicioCurso2)) != 0) {
			            $validou             =    false;
			            $strMensagemErro    =    'Preencha corretamente a segunda data do campo <span class="negrito">Início do Curso</span>.';
			            $_SESSION['constructore']['mensagens']['erroInicioCurso']    =    $strMensagemErro;   
			        }
					
					if(strlen(str_replace('-','',$strInicioCurso1)) != 0 && strlen(str_replace('-','',$strInicioCurso2)) != 0){
						if (comparaDatasString($strInicioCurso1, $strInicioCurso2) < 0) {
			                $validou             =    false;
			                $strMensagemErro    =    'A segunda data de <span class="negrito">Início do Curso</span> não pode ser anterior à primeria.';
			                $_SESSION['constructore']['mensagens']['erroInicioCurso']    =    $strMensagemErro;
		            	}
					}
		            
			       
			        /*
			         * Valida o termino do curso
			         */
			       
			       if (!validaDataString($strTerminoCurso1) && strlen(str_replace('-','',$strTerminoCurso1)) != 0) {
			            $validou             =    false;
			            $strMensagemErro    =    'Preencha corretamente a primeira data do campo <span class="negrito">Término do Curso</span>.';
			            $_SESSION['constructore']['mensagens']['erroTerminoCurso']    =    $strMensagemErro;   
			        }
					if(strlen(str_replace('-','',$strInicioCurso1)) != 0 && strlen(str_replace('-','',$strTerminoCurso1)) != 0){
			            if (comparaDatasString($strInicioCurso1, $strTerminoCurso1) < 0) {
			                $validou             =    false;
			                $strMensagemErro    =    'A primeira data de <span class="negrito">Término do Curso</span> não pode ser anterior à primeira data de <span class="negrito">Início do Curso</span>.';
			                $_SESSION['constructore']['mensagens']['erroTerminoCurso']    =    $strMensagemErro;
			            }
	
					}
			        if (!validaDataString($strTerminoCurso2) && strlen(str_replace('-','',$strTerminoCurso2)) != 0) {
			            $validou             =    false;
			            $strMensagemErro    =    'Preencha corretamente a segunda data do campo <span class="negrito">Término do Curso</span>.';
			            $_SESSION['constructore']['mensagens']['erroTerminoCurso']    =    $strMensagemErro;   
			        }
			        if(strlen(str_replace('-','',$strInicioCurso2)) != 0 && strlen(str_replace('-','',$strTerminoCurso2)) != 0) {
			        	
			            if (comparaDatasString($strInicioCurso2, $strTerminoCurso2) < 0) {
			                $validou             =    false;
			                $strMensagemErro    =    'A segunda data de <span class="negrito">Término do Curso</span> não pode ser anterior à segunda data de <span class="negrito">Início do Curso</span>.';
			                $_SESSION['constructore']['mensagens']['erroTerminoCurso']    =    $strMensagemErro;
			            }
					}
					if(strlen(str_replace('-','',$strTerminoCurso1)) != 0 && strlen(str_replace('-','',$strTerminoCurso2)) != 0){
						 if (comparaDatasString($strTerminoCurso1, $strTerminoCurso2) < 0) {
			                $validou             =    false;
			                $strMensagemErro    =    'A segunda data de <span class="negrito">Término do Curso</span> não pode ser anterior à primeira.';
			                $_SESSION['constructore']['mensagens']['erroTerminoCurso2']    =    $strMensagemErro;
			            }
			        }
					
					/*
			         * Valida a data de criação
			         */
			       
			        if (!validaDataString($strDataCriacao1) && strlen(str_replace('-','',$strDataCriacao1)) != 0) {
			            $validou             =    false;
			            $strMensagemErro    =    'Preencha corretamente a primeira data do campo <span class="negrito">Data de Criação</span>.';
			            $_SESSION['constructore']['mensagens']['erroDataCriacao']    =    $strMensagemErro;   
			        }
					
					if (!validaDataString($strDataCriacao2) && strlen(str_replace('-','',$strDataCriacao2)) != 0) {
			            $validou             =    false;
			            $strMensagemErro    =    'Preencha corretamente a segunda data do campo <span class="negrito">Início do Curso</span>.';
			            $_SESSION['constructore']['mensagens']['erroDataCriacao']    =    $strMensagemErro;   
			        }
			        if(strlen(str_replace('-','',$strDataCriacao1)) != 0 && strlen(str_replace('-','',$strDataCriacao2)) != 0) {      
			            if (comparaDatasString($strDataCriacao1, $strDataCriacao2) < 0) {
			                $validou             =    false;
			                $strMensagemErro    =    'A segunda data do campo <span class="negrito">Data de Criação</span> não pode ser anterior à primeria.';
			                $_SESSION['constructore']['mensagens']['erroDataCriacao']    =    $strMensagemErro;
			            }
			        }
				}
				else {
					redireciona(array("404"));
					exit;
				}
			}
			
		}
		else {
			$strBusca	=	null;
			unset($_SESSION['constructore']['buscaAdministracaoCursos']);
		}
		
		$ordemNova	=	$ordem == 'asc' ? 'desc' : 'asc';
		
		$this->getRegistro()->set('strInputBuscaCursos', $strInputBuscaCursos);
		$this->getRegistro()->set('mostraRemoverBD', false);
		$this->getRegistro()->set('mostraReativar', false);
		$this->getRegistro()->set('mostraApagar', false);
		$this->getRegistro()->set('mostraSituacao', false);
		
		$this->getRegistro()->set('filtro', $filtro);
		
		switch($filtro){
			case "todos":
				$this->getRegistro()->set('mostraSituacao', true);
				$this->getRegistro()->set('mostraApagar', true);
				$this->getRegistro()->set('mostraReativar', true);
				break;
			case "desenvolvimento":
				$this->getRegistro()->set('mostraApagar', true);
				break;
			case "andamento":
				$this->getRegistro()->set('mostraApagar', true);
				break;
			case "concluidos":
				$this->getRegistro()->set('mostraApagar', true);
				break;
			case "apagados":
				$this->getRegistro()->set('mostraRemoverBD', true);
				$this->getRegistro()->set('mostraReativar', true);
				break;
			case "busca":
				$this->getRegistro()->set('mostraSituacao', true);
				$this->getRegistro()->set('mostraApagar', true);
				$this->getRegistro()->set('mostraReativar', true);
				
				$this->getRegistro()->set('strBusca', $strBusca);
				
				break;
			case "buscaavancada":

				$gruposConhecimento	=	AreaConhecimento::getGruposConhecimento('asc', null);
				foreach($gruposConhecimento as $grupo){
					$areasConhecimento[$grupo['idGrupo']]	=	AreaConhecimento::getAreasConhecimento($grupo['idGrupo'], 'asc', null);
				}
				$layouts = array();
				$layoutsCursos	=	Curso::getLayoutsCursos('asc', NULL);
				foreach($layoutsCursos as $layoutCurso) {
					$layouts[$layoutCurso['idLayout']]	=	$layoutCurso['nome'];
				}
				$this->getRegistro()->set('layouts', $layouts);
				$this->getRegistro()->set('gruposConhecimento', $gruposConhecimento);
				$this->getRegistro()->set('areasConhecimento', $areasConhecimento);				
				$this->getRegistro()->set('mostraSituacao', true);
				$this->getRegistro()->set('mostraApagar', true);
				$this->getRegistro()->set('mostraReativar', true);
				if(defined('PARAMETRO_6')) {
					if($strSituacao	==	'apagados') {
						$this->getRegistro()->set('mostraApagar', false);
						$this->getRegistro()->set('mostraRemoverBD', true);
					}
					if($strSituacao	==	'desenvolvimento' || $strSituacao == 'andamento' || $strSituacao == 'concluidos') {
						$this->getRegistro()->set('mostraReativar', false);
					}
				}
				$this->getRegistro()->set('strBusca', $strBusca);
				
				$this->getRegistro()->set('mostraBuscaAvancada', true);
				if (isset($_SESSION['constructore']['buscaAvancadaCursos'])){
					$this->getRegistro()->set('strCurso', $_SESSION['constructore']['buscaAvancadaCursos']['strCurso']);
					$this->getRegistro()->set('intLayout', $_SESSION['constructore']['buscaAvancadaCursos']['intLayout']);
					$this->getRegistro()->set('strNomeProfessor', $_SESSION['constructore']['buscaAvancadaCursos']['strNomeProfessor']);
					$this->getRegistro()->set('boolLiberarEmail', $_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEmail']);
					$this->getRegistro()->set('boolLiberarEndereco', $_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEndereco']);
					$this->getRegistro()->set('boolLiberarTelefone', $_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarTelefone']);
					$this->getRegistro()->set('strNivel', $_SESSION['constructore']['buscaAvancadaCursos']['strNivel']);
					$this->getRegistro()->set('intArea', $_SESSION['constructore']['buscaAvancadaCursos']['intArea']);
					$this->getRegistro()->set('strSituacao', $_SESSION['constructore']['buscaAvancadaCursos']['strSituacao']);
					$this->getRegistro()->set('strSemestre', $_SESSION['constructore']['buscaAvancadaCursos']['strSemestre']);
					
					$this->getRegistro()->set('intInicioCursoDia1', $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia1']);
					$this->getRegistro()->set('intInicioCursoMes1', $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes1']);
					$this->getRegistro()->set('intInicioCursoAno1', $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno1']);
					$this->getRegistro()->set('intInicioCursoDia2', $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia2']);
					$this->getRegistro()->set('intInicioCursoMes2', $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes2']);
					$this->getRegistro()->set('intInicioCursoAno2', $_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno2']);
					$this->getRegistro()->set('intTerminoCursoDia1', $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia1']);
					$this->getRegistro()->set('intTerminoCursoMes1', $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes1']);
					$this->getRegistro()->set('intTerminoCursoAno1', $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno1']);
					$this->getRegistro()->set('intTerminoCursoDia2', $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia2']);
					$this->getRegistro()->set('intTerminoCursoMes2', $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes2']);
					$this->getRegistro()->set('intTerminoCursoAno2', $_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno2']);
					$this->getRegistro()->set('intDataCriacaoDia1', $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia1']);
					$this->getRegistro()->set('intDataCriacaoMes1', $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes1']);
					$this->getRegistro()->set('intDataCriacaoAno1', $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno1']);
					$this->getRegistro()->set('intDataCriacaoDia2', $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia2']);
					$this->getRegistro()->set('intDataCriacaoMes2', $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes2']);
					$this->getRegistro()->set('intDataCriacaoAno2', $_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno2']);
					
					$this->getRegistro()->set('boolGlossario', $_SESSION['constructore']['buscaAvancadaCursos']['boolGlossario']);
					$this->getRegistro()->set('boolLinks', $_SESSION['constructore']['buscaAvancadaCursos']['boolLinks']);
					$this->getRegistro()->set('boolBibliografia', $_SESSION['constructore']['buscaAvancadaCursos']['boolBibliografia']);
					$this->getRegistro()->set('boolAvisos', $_SESSION['constructore']['buscaAvancadaCursos']['boolAvisos']);
					$this->getRegistro()->set('boolEmail', $_SESSION['constructore']['buscaAvancadaCursos']['boolEmail']);
					$this->getRegistro()->set('boolForum', $_SESSION['constructore']['buscaAvancadaCursos']['boolForum']);
					$this->getRegistro()->set('boolChat', $_SESSION['constructore']['buscaAvancadaCursos']['boolChat']);
				}				
				if(!defined('PARAMETRO_6')){
					$filtro	=	'todos';
				}
				break;
			default:
				redireciona(array("404"));
				exit;
		}
		
		$this->getRegistro()->set('ordemNome', 'asc');
		$this->getRegistro()->set('ordemProfessor', 'asc');
		$this->getRegistro()->set('ordemInicio', 'asc');
		$this->getRegistro()->set('ordemTermino', 'asc');
		$this->getRegistro()->set('ordena', $ordena);
		$this->getRegistro()->set('ordemAtual', $ordem);
		
		switch($ordena){
			case "ordenanome":
				$this->getRegistro()->set('ordemNome', $ordemNova);
				break;
			case "ordenaprofessor":
				$this->getRegistro()->set('ordemProfessor', $ordemNova);
				break;
			case "ordenainicio":
				$this->getRegistro()->set('ordemInicio', $ordemNova);
				break;
			case "ordenatermino":
				$this->getRegistro()->set('ordemTermino', $ordemNova);
				break;
			default:
				redireciona(array("404"));
				exit;
		}

		if($filtro	==	'buscaavancada'){
			if ($validou){
				$resultadoBusca	=	Curso::buscaAvancada($ordena, $ordem, $paginaAtual, $strCurso, $intLayout, $strNomeProfessor, $boolLiberarEmail, $boolLiberarEndereco, $boolLiberarTelefone, $strNivel, $intArea, $strSituacao, $strInicioCurso1, $strInicioCurso2, $strTerminoCurso1, $strTerminoCurso2, $strDataCriacao1, $strDataCriacao2, $boolGlossario, $boolLinks, $boolBibliografia, $boolAvisos, $boolForum, $boolEmail, $boolChat);
			}
			else{
				$this->exibir("administracaocursos.php");
				exit;
			}
		}
		else{
			$resultadoBusca	=	Curso::buscaSimples($filtro, $ordena, $ordem, $paginaAtual, $strBusca);
		}
				
		$listaCursos 	=	$resultadoBusca['listaCursos'];
		$qtdCursos 		=	$resultadoBusca['qtdCursos'];
		$qtdPaginas 	=	$resultadoBusca['qtdPaginas'];
		
		$this->getRegistro()->set('qtdCursos', $qtdCursos);
		$this->getRegistro()->set('qtdPaginas', $qtdPaginas);
		$this->getRegistro()->set('paginaAtual', $paginaAtual);
		$this->getRegistro()->set('listaCursos', $listaCursos);

		$this->exibir("administracaocursos.php");
	}
	else{
		$selecionados	=	0;
		$apagados		=	0;
		$reativados 	=	0;
		$removidos 		=	0;
		
		if (isset($_POST['btnApagarCurso'])){
			foreach($_POST as $chave => $idCurso){
				if(preg_match("/^checkCurso[0-9]+$/", $chave)){
					if(Curso::apagar($idCurso)){
						$apagados++;
					}
					$selecionados++;
				}
			}
			
			if($selecionados > 0 && $selecionados == $apagados){
				$strMensagem 	=	$apagados == 1 ? "O Curso foi apagado com Sucesso." : "Os " . $apagados . " Cursos foram apagados com sucesso.";
				$_SESSION['constructore']['mensagens']['sucessoApagar']	=	$strMensagem;
			}
			else{
				if ($selecionados == 0){
					$strMensagem 	=	"Você não selecionou nenhum Curso.";
					$_SESSION['constructore']['mensagens']['sucessoApagar']	=	$strMensagem;
				}
				else{
					$strMensagem 	=	$selecionado == 1 ? "Não foi possível apagar o Curso selecionado." : "Não foi possível apagar ". ($selecionados - $apagados) . " dos " . $selecionados . " Cursos selecionados.";
					$_SESSION['constructore']['mensagens']['erroApagar']	=	$strMensagem;
				}
			}
			redireciona($_SESSION['constructore']['URLOrigem']);
			exit();
		}
		else {
			if(isset($_POST['btnReativarCurso'])){
				foreach($_POST as $chave => $idCurso){
					if(preg_match("/^checkCurso[0-9]+$/", $chave)){
						if(Curso::reativar($idCurso)){
							$reativados++;
						}
						$selecionados++;
					}
				}
				
				if($selecionados > 0 && $selecionados == $reativados){
					$strMensagem 	=	$reativados == 1 ? "O Curso foi reativado com Sucesso." : "Os " . $reativados . " Cursos foram reativados com sucesso.";
					$_SESSION['constructore']['mensagens']['sucessoReativar']	=	$strMensagem;
				}
				else{
					if ($selecionados == 0){
						$strMensagem 	=	"Você não selecionou nenhum Curso.";
						$_SESSION['constructore']['mensagens']['sucessoReativar']	=	$strMensagem;
					}
					else{
						$strMensagem 	=	$selecionado == 1 ? "Não foi possível reativar o Curso selecionado." : "Não foi possível reativar ". ($selecionados - $reativados) . " dos " . $selecionados . " Cursos selecionados.";
						$_SESSION['constructore']['mensagens']['erroReativar']	=	$strMensagem;
					}
				}
				redireciona($_SESSION['constructore']['URLOrigem']);
			}
			else {
				if(isset($_POST['btnRemoverBDCurso'])){
					
					foreach($_POST as $chave => $idCurso){
						if(preg_match("/^checkCurso[0-9]+$/", $chave)){
							if(Curso::removerBD($idCurso)){
								$removidos++;
							}
							$selecionados++;
						}
					}
					
					if($selecionados > 0 && $selecionados == $removidos){
						$strMensagem 	=	$removidos == 1 ? "O Curso foi removido com Sucesso." : "Os " . $removidos . " Cursos foram removidos com sucesso.";
						$_SESSION['constructore']['mensagens']['sucessoRemover']	=	$strMensagem;
					}
					else{
						if ($selecionados == 0){
							$strMensagem 	=	"Você não selecionou nenhum Curso.";
							$_SESSION['constructore']['mensagens']['sucessoRemover']	=	$strMensagem;
						}
						else{
							$strMensagem 	=	$selecionado == 1 ? "Não foi possível remover o Curso selecionado." : "Não foi possível remover ". ($selecionados - $removidos) . " dos " . $selecionados . " Cursos selecionados.";
							$_SESSION['constructore']['mensagens']['erroRemover']	=	$strMensagem;
						}
					}
					redireciona($_SESSION['constructore']['URLOrigem']);
				}
				else {
					if(isset($_POST['inputBuscarCursos'])) {
						$strBusca	=	$_POST['inputBuscarCursos'];
						if($strBusca	!=	''){
							$_SESSION['constructore']['buscaAdministracaoCursos']	=	$strBusca;
							$URLBusca 	=	codificaString($strBusca);
							redireciona(array("administracao", "cursos", "busca", "ordenanome", "asc", "pagina1", $URLBusca));
							exit;
						}
						else{
							$strMensagem 	=	"Você deve preencher o campo Buscar para fazer uma pesquisa.";
							$_SESSION['constructore']['mensagens']['buscaVazia']	=	$strMensagem;
							redireciona($_SESSION['constructore']['URLOrigem']);
							exit;
						}
					}
					else {
						$strCurso					=	codificaString($_POST['inputCurso']);
						$intLayout					=	codificaString($_POST['selectLayout']);
						$strNomeProfessor			=	codificaString($_POST['inputNomeProfessor']);
						$boolLiberarEmail			=	isset($_POST['inputLiberarEmail']) ? 'true' : 'false';
						$boolLiberarEndereco		=	isset($_POST['inputLiberarEndereco']) ? 'true' : 'false';
						$boolLiberarTelefone		=	isset($_POST['inputLiberarTelefone']) ? 'true' : 'false';
						$strNivel					=	codificaString($_POST['selectNivelCurso']);
						$intArea					=	codificaString($_POST['selectAreaConhecimento']);
						$strSituacao				=	$_POST['selectSituacao'];
						$strSemestre				=	codificaString($_POST['selectSemestre']);
						
						$intInicioCursoDia1			=	$_POST['inputInicioCursoDia1'];
						$intInicioCursoMes1			=	$_POST['inputInicioCursoMes1'];
						$intInicioCursoAno1			=	$_POST['inputInicioCursoAno1'];
						$intInicioCursoDia2			=	$_POST['inputInicioCursoDia2'];
						$intInicioCursoMes2			=	$_POST['inputInicioCursoMes2'];
						$intInicioCursoAno2			=	$_POST['inputInicioCursoAno2'];
						$intTerminoCursoDia1		=	$_POST['inputTerminoCursoDia1'];
						$intTerminoCursoMes1		=	$_POST['inputTerminoCursoMes1'];
						$intTerminoCursoAno1		=	$_POST['inputTerminoCursoAno1'];
						$intTerminoCursoDia2		=	$_POST['inputTerminoCursoDia2'];
						$intTerminoCursoMes2		=	$_POST['inputTerminoCursoMes2'];
						$intTerminoCursoAno2		=	$_POST['inputTerminoCursoAno2'];
						$intDataCriacaoDia1			=	$_POST['inputDataCriacaoDia1'];
						$intDataCriacaoMes1			=	$_POST['inputDataCriacaoMes1'];
						$intDataCriacaoAno1			=	$_POST['inputDataCriacaoAno1'];
						$intDataCriacaoDia2			=	$_POST['inputDataCriacaoDia2'];
						$intDataCriacaoMes2			=	$_POST['inputDataCriacaoMes2'];
						$intDataCriacaoAno2			=	$_POST['inputDataCriacaoAno2'];
						
						$boolGlossario			=	isset($_POST['inputGlossario']) ? 'true' : 'false';
						$boolLinks				=	isset($_POST['inputLinks']) ? 'true' : 'false';
						$boolBibliografia		=	isset($_POST['inputBibliografia']) ? 'true' : 'false';
						$boolAvisos				=	isset($_POST['inputAvisos']) ? 'true' : 'false';
						$boolEmail				=	isset($_POST['inputEmail']) ? 'true' : 'false';
						$boolForum				=	isset($_POST['inputForum']) ? 'true' : 'false';
						$boolChat				=	isset($_POST['inputChat']) ? 'true' : 'false';
						
						if ($strSituacao	==	"andamento"){
							$intInicioCursoDia2			=	date('d', time());
							$intInicioCursoMes2			=	date('m', time());
							$intInicioCursoAno2			=	date('Y', time());
							$intTerminoCursoDia1		=	date('d', time());
							$intTerminoCursoMes1		=	date('m', time());
							$intTerminoCursoAno1		=	date('Y', time());
						}
						
						if ($strSituacao	==	"desenvolvimento"){
							$intInicioCursoDia1			=	date('d', time()) + 1;
							$intInicioCursoMes1			=	date('m', time());
							$intInicioCursoAno1			=	date('Y', time());
						}
						
						if ($strSituacao	==	"concluidos"){
							$intTerminoCursoDia2		=	date('d', time()) - 1;
							$intTerminoCursoMes2		=	date('m', time());
							$intTerminoCursoAno2		=	date('Y', time());
						}
						
						if ($strSemestre != 'qualquer') {
							$semestre	=	explode('-', $strSemestre);
							if(intval($semestre[1]) == 1){
								$intInicioCursoDia1			=	'01';
								$intInicioCursoMes1			=	'01';
								$intInicioCursoAno1			=	$semestre[0];
								$intInicioCursoDia2			=	'14';
								$intInicioCursoMes2			=	'07';
								$intInicioCursoAno2			=	$semestre[0];
							}
							if(intval($semestre[1]) == 2){
								$intInicioCursoDia1			=	'15';
								$intInicioCursoMes1			=	'07';
								$intInicioCursoAno1			=	$semestre[0];
								$intInicioCursoDia2			=	'31';
								$intInicioCursoMes2			=	'12';
								$intInicioCursoAno2			=	$semestre[0];
							}
						}
						
						$_SESSION['constructore']['buscaAvancadaCursos']['strCurso'] = $_POST['inputCurso'];
						$_SESSION['constructore']['buscaAvancadaCursos']['intLayout'] = $intLayout;
						$_SESSION['constructore']['buscaAvancadaCursos']['strNomeProfessor'] = $_POST['inputNomeProfessor'];
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEmail'] = $boolLiberarEmail;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarEndereco'] = $boolLiberarEndereco;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLiberarTelefone'] = $boolLiberarTelefone;
						$_SESSION['constructore']['buscaAvancadaCursos']['strNivel'] = $strNivel;
						$_SESSION['constructore']['buscaAvancadaCursos']['intArea'] = $intArea;
						$_SESSION['constructore']['buscaAvancadaCursos']['strSituacao'] = $strSituacao;
						$_SESSION['constructore']['buscaAvancadaCursos']['strSemestre'] = $strSemestre;
						
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia1'] = $intInicioCursoDia1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes1'] = $intInicioCursoMes1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno1'] = $intInicioCursoAno1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoDia2'] = $intInicioCursoDia2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoMes2'] = $intInicioCursoMes2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intInicioCursoAno2'] = $intInicioCursoAno2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia1'] = $intTerminoCursoDia1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes1'] = $intTerminoCursoMes1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno1'] = $intTerminoCursoAno1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoDia2'] = $intTerminoCursoDia2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoMes2'] = $intTerminoCursoMes2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intTerminoCursoAno2'] = $intTerminoCursoAno2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia1'] = $intDataCriacaoDia1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes1'] = $intDataCriacaoMes1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno1'] = $intDataCriacaoAno1;
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoDia2'] = $intDataCriacaoDia2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoMes2'] = $intDataCriacaoMes2;
						$_SESSION['constructore']['buscaAvancadaCursos']['intDataCriacaoAno2'] = $intDataCriacaoAno2;
						
						$_SESSION['constructore']['buscaAvancadaCursos']['boolGlossario'] = $boolGlossario;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolLinks'] = $boolLinks;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolBibliografia'] = $boolBibliografia;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolAvisos'] = $boolAvisos;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolEmail'] = $boolEmail;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolForum'] = $boolForum;
						$_SESSION['constructore']['buscaAvancadaCursos']['boolChat'] = $boolChat;
						
						$inicioCurso1='';
						$inicioCurso2='';
						$terminoCurso1='';
						$terminoCurso2='';
						$dataCriacao1='';
						$dataCriacao2='';
						
						if($intInicioCursoDia1 != '' && $intInicioCursoMes1 != '' && $intInicioCursoAno1 != ''){
							$inicioCurso1	=	$intInicioCursoAno1 . '-' . $intInicioCursoMes1 . '-' . $intInicioCursoDia1;
						}
						if($intInicioCursoDia2 != '' && $intInicioCursoMes2 != '' && $intInicioCursoAno2 != ''){
							$inicioCurso2	=	$intInicioCursoAno2 . '-' . $intInicioCursoMes2 . '-' . $intInicioCursoDia2;
						}
						if($intTerminoCursoDia1 != '' && $intTerminoCursoMes1 != '' && $intTerminoCursoAno1 != ''){
							$terminoCurso1	=	$intTerminoCursoAno1 . '-' . $intTerminoCursoMes1 . '-' . $intTerminoCursoDia1;
						}
						if($intTerminoCursoDia2 != '' && $intTerminoCursoMes2 != '' && $intTerminoCursoAno2 != ''){
							$terminoCurso2	=	$intTerminoCursoAno2 . '-' . $intTerminoCursoMes2 . '-' . $intTerminoCursoDia2;
						}
						if($intDataCriacaoDia1 != '' && $intDataCriacaoMes1 != '' && $intDataCriacaoAno1 != ''){
							$dataCriacao1	=	$intDataCriacaoAno1 . '-' . $intDataCriacaoMes1 . '-' . $intDataCriacaoDia1;
						}
						if($intDataCriacaoDia2 != '' && $intDataCriacaoMes2 != '' && $intDataCriacaoAno2 != ''){
							$dataCriacao2	=	$intDataCriacaoAno2 . '-' . $intDataCriacaoMes2 . '-' . $intDataCriacaoDia2;
						}
						$strBusca 	=	'?curso=' . $strCurso . '&layout=' . $intLayout . '&nomeprofessor=' . $strNomeProfessor . '&liberarEmail=' . $boolLiberarEmail . '&liberarEndereco=' . $boolLiberarEndereco . '&liberarTelefone=' . $boolLiberarTelefone . '&nivel=' . $strNivel . '&area=' . $intArea . '&situacao=' . $strSituacao . '&semestre=' . $strSemestre . '&iniciocurso1=' . $inicioCurso1 . '&iniciocurso2=' . $inicioCurso2 . '&terminocurso1=' . $terminoCurso1 . '&terminocurso2=' . $terminoCurso2 .	'&datacriacao1=' . $dataCriacao1 . '&datacriacao2=' . $dataCriacao2 . '&glossario=' .$boolGlossario . '&links=' .$boolLinks . '&bibliografia=' .$boolBibliografia . '&avisos=' .$boolAvisos . '&email=' .$boolEmail . '&forum=' .$boolForum . '&chat=' .$boolChat;
						redireciona(array("administracao","cursos","buscaavancada", "ordenanome", "asc", "pagina1", $strBusca));
					
					}	
				}
			}
			
		}
	}
	
?>